This invention relates to the field of real-time data/voice/media transmission over the internet, intranet, cable, and other any sort of packet switching networks. More specifically, the invention relates to a way to improve the quality of real-time packet transmission by using redundant transmission of packets.
Internet Telephony and Internet Media transmission have huge business opportunities and many industry key players and major Telecom companies are rushing into this area. Many companies are marketing internet telephony gateway and internet telephony PC software. Companies are providing internet telephony services for low-cost long-distance calls and telecom companies are viewing Internet telephony as a way to unifi telephony and data infrastructure.
Internet Media transmission includes sending media packets (containing any of the following: n-dimensional images, animation, music, text, movies, video shots, still pictures, voice, data, etc.) over packet switching networks (e.g., a wide area networkxe2x80x94WAN- and/or local area networkxe2x80x94LAN) between two or more computers with special application software. Internet Telephony is a particular version of Internet Media where packets contain voice information (and sometimes video information). When the voice processed by an input device is captured at a source computer, an application running on the source computer will transform the continuous voice analog signals into a series of discrete digitally compressed packets. There are some well known industry standards to define this transformation process and the format of these discrete (often digitally compressed) packets, for example, PCM, GSM, G.723, etc.
There are other known processes defined by standards (e.g., IP, UDP, and RTP protocols) to augment the packets with necessary headers and trailers so that these packets can travel over the common packet switching network(s) to a destination computer. With these headers and trailers, packets usually travel over the packet switching network(s) independently. (See U.S. Pat. No. 5,371,852 to Attanasio et al. issued on Dec. 6, 1994 which is herein incorporated by reference in its entirety.) At the destination computer, arriving packets are stored in a buffer and are then transformed back into the form which is close to the original analog signal. The same industry standard (e.g., PCM, GSM, G.723, etc.) defines this transformation.
Some of the prior art has disclosed duplicating messages and transmitting them over xe2x80x9cmultiple disjointed routesxe2x80x9d over a network topology to improve reliability and timely delivery of these messages. See xe2x80x9cDelivery of Time-Critical Messages Using a Multiple Copy Approachxe2x80x9d by P. Ramanathan and K. G. Shin, ACM fransactions on Computer Systems, Vol. 10, No. 2, May 1992, (here after the xe2x80x9cShin referencexe2x80x9d) which is herein incorporated by reference in its entirety.
Quality is a serious problem in sending media over packet switching networks, including Internet and Intranet. This problem comes from the two general characteristics of packet switching networks, namely: (A) packet switching networks cannot guarantee the delivery of packets, e.g., a packet can be lost on the way to the destination and (B) packet switching networks cannot guarantee the delivery of packets within given time, e.g., if the network is congested, packets are delayed inside the network.
These two characteristics come from the fact that packet switching networks comprise commonly used routers and links connecting them. Since these resources are shared by many packets, waiting queues for these resources are built into the network. When the network is congested, packets are forced to wait in these queues. When traffic volume exceeds the capacity of these queues, packets can be discarded. Due to these characteristics of packet switching networks, packet delays and losses are unavoidable for packet transmission over packet switching networks.
TCP (Transmission Control Protocol) remedies some of these shortcomings of packet switching networks by introducing a packet re-transmission mechanism outside of the network between source and destination computers. It arranges a buffer to store received packets internally. If some packets do not arrive in a given time, re-transmission of these packets is requested. Until all packets are received, with potentially multiple retries, the received data will not be released to the receiving application. Thus, TCP guarantees that all packets arrive but sacrifices transmission time, i.e., there are delays. Because of the delay caused by this automatic re-transmission, TCP protocol is not used for internet media transmission where delay is fatal.
For two-way Internet media transmission, long delays are fatal. While accepting some packets being lost, Internet media usually uses a protocol without built-in packet re-transmission (e.g., UDP or User Datagram Protocol). Even with this protocol, however, some packets may be lost in the network and there is no guarantee of a minimum time for transmission over the network (without delays). Usually, the upper layer application software controls the size of a waiting buffer and the maximum waiting time for packet arrivals.
One prior art system is described in xe2x80x9cThe 2nd Annual Internet Telephony, Summitxe2x80x9d of Jul. 14-15, 1997, which is herein incorporated by reference. In particular, the xe2x80x9cMotorola IP Telephony in Corporate Intranetsxe2x80x9d describes one instance of packet delay and losses in Internet media transmission. Here a series of packets were sent for a certain time from a source computer to a destination computer over the Internet. The article shows a graph of the arrival delay for each packet. In the graph, the X-axis corresponds to the packets from the first to the last. The Y-axis shows the time required for the packet to travel to the destination. The unit of the Y-axis is milliseconds. The graph shows that using the prior art Internet network to transmit Internet media is not as reliable as using the telephone network.
Some prior art literature compares the current state of the art of Internet/Intranet transmissions to transmissions over the telephone network as the follows. Compared to the telephone network that provides acceptable voice over 99.999% of use time, the Internet provides acceptable voice only in 94% of use time and the Internet provides acceptable voice only of 61% of use time. (See the article by Tom Nolle: President of CIMI Corp., entitled xe2x80x9cConvergence 2000?xe2x80x9d published in xe2x80x9cInformation Weekxe2x80x9d, Apr. 15, 1998, page 141, which is herein incorporated by reference in its entirety.)
An example of a typical prior art networking system 100 for transmitting media information, including voice data, is shown as a block diagram in FIG. 1. The networking system 100 comprises a plurality of computers 160 that are connected to one or more networks 130 through well known network connectors such as modems and/or LAN adapters 150. The computers 160 typically can be any generally known computer system, such as a personal computer (like an IBM ThinkPad) or workstation (like an IBM AS400). For one way communications, one computer 160 would be the source computer 160S originating the transmission of information and one or more of the computers 160 would be the destination computer 160D that would receive the information. However, in many applications, both the source computer 160S and the destination computer 160D functions are contained in a single computer, e.g. 160, that can perform both these communication functions, i.e., sending and receiving, to enable point to point two way, one to many, and/or many to many communications. The computers 160 will have well known input and output devices like microphones 131, speakers 132, keyboards, mice, cameras, video recorders, screens, recorders, musical instruments, pen inputs, touch screens (not shown), etc. The combination of one or more multimedia interfaces 133, e.g. a sound card and/or video card 133, network interface software 134, and one or more network connections 150 converts signals from an analog continuous form 135 to a digital (and typically compressed) packetized form 120. Through the network connector 150, the packets are exchanged over the networks 130 between the computers 160.
The network(s) 130 can be any type of packet switching network which include but is (are) not limited to the Internet, intranets, extranets, wide area networks (VANs), local area networks (LANs), phone networks, and/or any combination or interconnection of such networks. Typically these networks comprise access points 140, routers 110, and network links (typically 175). Network links 175 connect these routers 110 and access points 140 to form the network as shown 130. These routers 110, access points 140, and network links 175 are typically operated by one or more internet service providers (ISP). Access points 140 are the gateways to outside world of the network 130. Various computers 160 can access to the network 140 via access points 140 by well known connections including: dial-up connections, dedicated line connections, cable connections, satellite connections, and other forms of well known connections. Access points 140 also could be a gateway to other networks operated by other ISPs.
Known standard protocols (IP protocol, PPP protocol, LAN protocol, etc.) support various computers 160 to exchange data and messages independently of the connection being used between the network connectors 150 and the access points 140. Particularly, User Diagram Protocol (UDP) and Real-Time Protocol (RTP) provide the ways for computers to exchange real-time Internet media packets over the network 130.
The series of connections (i.e. links 175) of access points and routers over which packets travel to destination is called a xe2x80x9cpathxe2x80x9d. Packet switching networks 130 and protocols like UDP and RTP are very well known. For more description of these networks and protocols see TCP/IP Illustrated, Volume 1 and 2, by W. Richart Stevens, Addison-Ersley Professional Computing Series, 1994 which is herein incorporated by reference in its entirety. In this disclosure, these packet switching networks 130 will be referred to as the network 130 without loss of generality.
The Shin reference discusses the use of redundancy to reduce packet delivery delay. In the reference, however, he uses hypothetical network such as C-Wrapped Hexagonal Mesh and Hypercube mesh where the same subpattern is repeated in the entire network. Using that assumption, it is possible to define disjoint routes mathematically between two end points. However, in the real network environments, the connections of routers are ad hoc. Networks are made up of legacy sub networks and many bypasses. In these situation, it is impossible to mathematically pre-compute disjoin routes. The Shin reference also assumes sending replicated packets over every one of the computed disjoint routes. This can create a severe demand on network resources.
An object of this invention is a system and method to provide more reliable end-to-end Internet media transmission between two or more points which are connected by one or more packet switching networks.
An object of this invention is a general way to improve the reliability of end-to-end Internet media transmission.
An object of this invention is a system and method for a source computer, a destination computer, and a reflection router to negotiate and determine one or more media transmission routes to improve transmission reliability.
An object of this invention is a system and method to introduce redundancy in media packet transmission to improve quality, reliability, and transmission delay.
An object of this invention is a system and method to replicate and unify packets at both ends of transmission routes to interface with software created for non-redundant media packet transmission.
An object of this invention is an improved system and method for a packet switching network communication that improves reliably and reduces delays in packet transmission.
This invention improves the reliability and reduces the delays and packet losses of Internet media transmissions over packet switching networks such as Internet and Intranet. The invention replicates a sent message/information packets from one or more source computers connected to the network into one or more replicas of one or more of the packets of the sent message. Each of the replicas is then directed through a different route through the network to one or more destination computers. In a preferred embodiment, the replication and routing is done randomly and each of the routes is determined so that the routes have the least number of routers and access points in common. Since the replicas are redundant, losses and delays of some of the replicas is not fatal to assemble the packet sequence at the destination(s). Thus, the destination computer can assemble the sent message/information packet from received replicas in a more complete and faster manner. Redundant replicas that are received can be ignored and/or discarded at the destination computer.